def foo1():
    return int(input('请输入一个数：'))

def foo2():
    return foo1()*2

print(foo2())


# Traceback (most recent call last):
#   File "D:\pythoncode\09-异常\4-异常传递.py", line 7, in <module>
#     print(foo2())
#   File "D:\pythoncode\09-异常\4-异常传递.py", line 5, in foo2
#     return foo1()*2
#   File "D:\pythoncode\09-异常\4-异常传递.py", line 2, in foo1
#     return int(input('请输入一个数：'))
# ValueError: invalid literal for int() with base 10: 'abc'


# 要学会观察报错信息 报错信息中的调用是从上向下调用的 而报错位置是在最下面 但是注意不一定是最下面的位置出现错误 有可能是上面调用时传入的参数有误